<!DOCTYPE HTML>
<html>
<head>
<title>StringCaseSense | AutoHotkey</title>
<meta name="description" content="The StringCaseSense command determines whether string comparisons are case sensitive (default is "not case sensitive")." />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

<h1>StringCaseSense</h1>

<p>设置在字符串比较中是否区分大小写(默认为 "不区分大小写").</p>

<pre class="Syntax"><span class="func">StringCaseSense</span>, OnOffLocale</pre>
<h2 id="Parameters">参数</h2>
<dl>

  <dt>OnOffLocale</dt>
  <dd>
    <p>指定以下单词之一:</p>
    <p><strong>On</strong>: 字符串比较时区分大小写. 此设置也让<a href="../Variables.htm#equal">表达式等号运算符(=)</a> 和 <a href="InStr.htm">InStr()</a> 的不区分大小写模式使用下面的 <em>locale</em> 方式进行处理.</p>
    <p><strong>Off</strong>(初始默认值): 字母 A-Z 被视为等同于它们的小写字母. 为了向后兼容和保持高效, 这是所有脚本的初始默认值(根据被比较字符串的性质, 使用 <em>Locale</em> 比 <em>Off</em> 慢 1 到 8 倍).</p>
    <p id="Locale"><strong>Locale</strong> <span class="ver">[v1.0.43.03+]:</span> 字符串比较遵循当前用户区域设置的规则. 例如, 在大多数英语及西欧地区, 不仅将 A-Z 视为等同于它们的小写形式, 同时也视为等同于它们的 ANSI 字母, 例如 &Auml; 和 &Uuml;.</p>
    <p><span class="ver">[v1.1.30+]:</span> 可以分别使用十进制值 1 和 0 代替 On 和 Off.</p>
  </dd>

</dl>

<h2 id="Remarks">备注</h2>
<p>此设置适用于:</p>
<ul>
  <li><a href="../Variables.htm#equal">表达式比较运算符</a>(除了 ==). 但是, 由于<a href="../Variables.htm#equal">等号运算符(=)</a> 总是不区分大小写, 当 <em>StringCaseSense</em> 设置为 <em>On</em> 时它使用 <em>Locale</em> 模式, 与 <a href="InStr.htm">InStr()</a> 的不区分大小写模式相同.</li>
  <li><a href="IfInString.htm">IfInString</a>, <a href="StringGetPos.htm">StringGetPos</a> 和 <a href="InStr.htm">InStr()</a>. 然而, InStr() 在其 <em>CaseSensitive</em> 参数为 <em>true</em> 时, 不会受此设置影响.</li>
  <li><a href="StrReplace.htm">StrReplace()</a> 和 <a href="StringReplace.htm">StringReplace</a>.</li>
  <li><a href="IfIn.htm">if var in/contains MatchList</a>, <a href="IfBetween.htm">if var between</a> 和 <a href="IfEqual.htm">IfEqual 及其系列</a>.</li>
  <li><span class="ver">[AHK_L 42+]: </span> <a href="IfIs.htm">if var is [not] type</a> 仅在 <i>Locale</i> 模式生效时才遵循系统区域设置.</li>
</ul>
<p>内置变量 <strong>A_StringCaseSense</strong> 包含了当前设置(单词 On, Off 或 Locale).</p>
<p>每个新运行的<a href="../misc/Threads.htm">线程</a>(例如 <a href="../Hotkeys.htm">热键</a>, <a href="Menu.htm">自定义菜单项</a>或<a href="SetTimer.htm">定时</a>子程序) 都会以此命令的默认设置开始. 通过在脚本的自动执行段(脚本的顶部) 使用此命令可以改变这个默认设置.</p>
<h2 id="Related">相关</h2>
<p><a href="IfEqual.htm">IfEqual</a>, <a href="IfInString.htm">IfInString</a>, <a href="IfBetween.htm">if var between</a>, <a href="StrReplace.htm">StrReplace()</a>, <a href="StringGetPos.htm">StringGetPos</a>, <a href="StringReplace.htm">StringReplace</a></p>
<h2 id="Examples">示例</h2>
<div class="ex" id="ExBasic">
<p><a class="ex_number" href="#ExBasic"></a> 根据当前用户的语言区域规则, 使字符串比较不区分大小写.</p>
<pre>StringCaseSense Locale</pre>
</div>

</body>
</html>